package shujia.day15.bao1;

public class ProductThread extends Thread{
    Student student;

    public ProductThread(Student student) {
        this.student = student;
    }

    @Override
    public void run() {
        int i = 0;
//        Student student = new Student();
        while (true){
            synchronized (student){
                /*
                    对于生产者，在生产数据之前，先看一看数据有没有被消费
                    如果还没有被消费，那么就等待，通知消费者来消费数据
                 */
                if(student.isFlag()){
                    //等待，锁对象调用方法进行等待
                    try {
                        student.wait(); // 阻塞，当锁对象调用唤醒的方法的时候，继续往下运行
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }

                if(i%2==0){
                    student.setName("张成阳");
                    student.setAge(18);
                }else {
                    student.setName("方直");
                    student.setAge(20);
                }
                i++;

                student.setFlag(true);
                student.notify(); // 通知消费者消费

            }

        }
    }
}
